package com.vcc.service.boss.response.user;

import com.vcc.data.entity.BossRole;
import com.vcc.data.entity.BossUser;
import com.vcc.service.boss.response.baseVo.BossBaseVo;
import com.vcc.service.boss.response.role.BossRoleVoBoss;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

@EqualsAndHashCode(callSuper = true)
@Data
@Setter
@Getter
public class BossUserVoBoss extends BossBaseVo {

    private String account;

    private String registerUserAccount;

    private Long registerUserId;

    private String email;

    private BossRoleVoBoss role;

    private Integer status;

    private String username;

    private String invitationCode;

    private Boolean hasBindGoogle;

    private Integer registerCount;

    private String adminRemark;

    public BossUserVoBoss() {
    }

    public BossUserVoBoss(BossUser bossUser, BossRole role, String registerUserAccount) {
        super.setId(bossUser.getId());
        super.setCreateDate(bossUser.getCreateDate());
        super.setUpdateDate(bossUser.getUpdateDate());
        this.account = (bossUser.getAccount());
        this.registerUserAccount = bossUser.getUsername();
        this.registerUserId = bossUser.getRegisterUserId();
        this.email = bossUser.getEmail();
        this.role = new BossRoleVoBoss(role);
        this.status = bossUser.getStatus();
        this.username = bossUser.getUsername();
        this.invitationCode = bossUser.getInvitationCode();
        this.hasBindGoogle = bossUser.getHasBindGoogle();
        this.registerCount = bossUser.getRegisterCount();
        this.adminRemark = bossUser.getAdminRemark();
    }
}
